강제적 접근 제어
1. 개요
1. 개요
강제적 접근 제어는 컴퓨터 보안에서 시스템이 정의한 보안 정책에 따라 사용자나 프로세스의 자원 접근을 엄격하게 통제하는 접근 제어 방식이다. 이 모델에서는 개별 사용자가 자신이 소유한 객체에 대한 접근 권한을 자유롭게 결정할 수 있는 임의적 접근 제어와 달리, 중앙 집중적인 보안 정책이 모든 접근 결정을 강제한다. 주로 높은 보안이 요구되는 환경에서 정보의 기밀성과 무결성을 보호하기 위해 사용된다.
이 접근 방식의 핵심은 각 주체(사용자, 프로세스)와 객체(파일, 데이터)에 시스템이 부여한 보안 레이블(예: 비밀 등급, 분류 범주)을 기반으로 접근을 허용하거나 거부한다는 점이다. 접근 권한은 사용자의 직책이나 역할보다는 객체의 민감도와 주체의 공식적인 허가 등급에 따라 결정된다. 따라서 권한이 부여된 사용자라도 '필요한 정보만' 접근할 수 있도록 제한하는 최소 권한의 원칙을 구현하는 데 효과적이다.
강제적 접근 제어는 다중 수준 보안 시스템의 근간을 이루며, 군사, 정보 기관, 정부 조직 등에서 국가 기밀 정보를 보호하는 데 역사적으로 널리 적용되어 왔다. 시간이 지남에 따라 그 적용 범위는 금융, 의료, 핵심 산업 제어 시스템 등 민간 분야의 고보안 요구사항을 충족시키는 영역으로 확대되었다.
2. 기본 개념과 원리
2. 기본 개념과 원리
접근 제어는 정보 시스템에서 사용자나 프로세스가 시스템 자원에 접근하는 것을 허용하거나 거부하는 보안 메커니즘이다. 이는 기밀성, 무결성, 가용성이라는 정보 보안의 핵심 목표를 달성하기 위한 필수적인 수단이다. 접근 제어가 없다면, 권한이 없는 사용자가 민감한 데이터를 읽거나 수정, 삭제할 수 있어 심각한 보안 위협이 발생한다.
강제적 접근 제어는 이러한 접근 제어를 구현하는 주요 패러다임 중 하나로, 시스템 전체에 걸쳐 중앙에서 엄격하게 정의된 보안 정책에 따라 접근을 통제한다. 이 모델의 핵심 원칙은 모든 주체(사용자, 프로세스)와 객체(파일, 데이터베이스 레코드)에 고정된 보안 속성(예: 보안 레이블)을 부여하고, 이 속성에 기반한 규칙에 따라 모든 접근 시도를 허용 또는 거부한다는 점이다. 개별 사용자나 객체의 소유자는 이 정책을 임의로 변경할 수 없다.
이 모델의 작동은 일반적으로 두 가지 기본 규칙에 의존한다. 첫째는 단순 보안 속성 규칙으로, 주체의 보안 등급이 객체의 보안 등급보다 높거나 같고, 주체의 범주 집합이 객체의 범주 집합을 모두 포함할 때만 읽기 접근이 허용된다. 둘째는 *-속성 규칙으로, 주체가 객체에 정보를 기록할 때는 객체의 보안 등급이 주체의 보안 등급보다 높거나 같아야 한다는 조건을 통해 정보의 비밀 유지 수준이 낮은 곳으로 흐르는 것을 방지한다[1].
이러한 원칙에 따라 강제적 접근 제어는 정보의 흐름을 엄격히 제한하여, 높은 수준의 기밀성을 요구하는 환경에서 효과적으로 작동한다. 정책의 결정과 시행이 중앙화되어 있어 일관된 보안 상태를 유지할 수 있지만, 동시에 사용자의 자율성과 시스템 운영의 유연성은 크게 제한된다는 특징을 가진다.
2.1. 접근 제어의 정의와 필요성
2.1. 접근 제어의 정의와 필요성
접근 제어는 정보 시스템에서 인가된 사용자, 프로세스 또는 장치만이 특정 자원(예: 파일, 데이터, 네트워크 서비스)에 접근하거나 특정 작업을 수행할 수 있도록 허용하거나 거부하는 보안 메커니즘이다. 이는 기밀성, 무결성, 가용성이라는 정보 보안의 핵심 목표를 달성하기 위한 기본 수단으로 작동한다. 시스템은 접근 요청을 평가하기 위해 주체(사용자)의 신원과 객체(자원)의 보안 속성, 그리고 정의된 보안 정책을 사용한다.
접근 제어의 필요성은 디지털 자산의 보호와 조직의 운영 안정성을 유지하는 데서 비롯된다. 허가되지 않은 접근은 데이터 유출, 변조, 서비스 거부 공격 등 심각한 보안 사고로 이어질 수 있다. 특히 민감한 정보를 다루는 군사, 정부, 금융, 의료 분야에서는 법적, 규제적 요구사항을 충족시키고 신뢰를 유지하기 위해 엄격한 접근 통제가 필수적이다. 효과적인 접근 제어는 내부자의 악의적 행위나 실수로 인한 사고를 방지하고, 외부 공격자가 시스템에 침투하더라도 피해 범위를 제한하는 방어 심층화 전략의 일환이다.
접근 제어는 구현 방식에 따라 크게 강제적 접근 제어, 임의적 접근 제어, 역할 기반 접근 제어 등으로 분류된다. 각 모델은 보안 요구사항과 운영 환경에 따라 다른 장단점을 가지며, 현대 시스템에서는 여러 모델을 혼합하여 사용하는 경우가 많다.
2.2. 강제적 접근 제어의 핵심 원칙
2.2. 강제적 접근 제어의 핵심 원칙
강제적 접근 제어는 시스템이 정의한 보안 정책에 따라 객체에 대한 주체의 접근을 강제하는 메커니즘이다. 그 핵심 원칙은 주체의 임의적 판단이나 요청에 의존하지 않고, 중앙에서 관리되는 엄격한 규칙에 기반하여 모든 접근을 통제한다는 점이다. 이는 시스템의 보안 상태를 일관되게 유지하고, 정보의 무단 유출이나 변조를 방지하는 데 목적이 있다.
핵심 원칙은 크게 세 가지로 요약된다. 첫째는 격리의 원칙이다. 이는 시스템이 각 주체와 객체에 보안 속성(예: 보안 레이블)을 부여하고, 이 속성에 기반한 규칙에 의해서만 접근을 허용한다는 것이다. 사용자는 자신의 권한을 다른 주체에게 임의로 양도하거나 변경할 수 없다. 둘째는 강제의 원칙이다. 모든 접근 시도는 시스템의 참조 모니터와 같은 강제적 메커니터링 구성 요소에 의해 검사되며, 정책을 위반하는 접근은 근본적으로 차단된다. 셋째는 추상화의 원칙이다. 복잡한 보안 정책은 일반적으로 보안 등급과 분류 범주로 구성된 격자 모델과 같은 수학적 모델로 추상화되어 구현된다.
이러한 원칙들은 구체적인 정책 규칙으로 표현된다. 가장 대표적인 두 가지 규칙은 다음과 같다.
* 단순 보안 속성: 주체의 보안 등급이 객체의 보안 등급보다 높거나 같고, 주체의 분류 범주 집합이 객체의 분류 범주 집합을 모두 포함할 때만 읽기 접근이 허용된다. 이는 정보의 "읽기"를 통제하여 기밀성을 보장한다.
* *-속성 (별 속성): 주체는 자신이 읽은 객체의 보안 등급보다 높거나 같고, 분류 범주 집합이 포함된 객체에만 쓰기 접근이 허용된다. 이는 정보의 "쓰기"를 통제하여 무결성을 보장하며, 정보가 낮은 보안 수준으로 흐르는 것을 방지한다.
이 원칙들은 시스템 전반에 걸쳐 일관되게 적용되어, 개별 사용자의 의지와 관계없이 시스템 전체의 보안 목표가 달성되도록 한다.
3. 주요 모델과 정책
3. 주요 모델과 정책
강제적 접근 제어를 구현하는 대표적인 보안 모델과 정책에는 벨-라파듈라 모델, 비바 모델, 그리고 중국 방벽 정책이 있다. 이 모델들은 각기 다른 보안 요구사항과 환경에 맞춰 정보의 기밀성과 무결성을 보호하기 위한 정형화된 규칙 체계를 제공한다.
벨-라파듈라 모델은 기밀성 보호에 초점을 맞춘 최초의 공식적인 보안 모델 중 하나이다. 이 모델은 주체(사용자, 프로세스)와 객체(파일, 데이터)에 보안 등급(예: 비밀, 극비)과 범주를 할당한다. 접근은 두 가지 주요 규칙, 즉 *단순 보안 속성*(상위 등급의 주체는 하위 등급의 객체를 읽을 수 없음)과 **-속성*(주체는 자신이 읽은 객체보다 높은 등급의 객체에 쓸 수 없음)에 따라 엄격히 통제된다[2]. 이 모델은 다단계 보안이 요구되는 군사 환경에서의 표준 모델로 자리 잡았다.
비바 모델은 정보의 무결성을 보호하는 것을 목표로 한다. 이 모델은 벨-라파듈라 모델과 유사한 구조를 가지지만, 무결성 등급과 무결성 규칙을 사용한다는 점에서 차이가 있다. 주된 규칙으로는 *단순 무결성 속성*(낮은 무결성 등급의 주체는 높은 무결성 등급의 객체를 읽을 수 없음)과 *무결성 *-속성*(주체는 자신이 수정한 객체보다 높은 무결성 등급의 객체를 수정할 수 없음)이 있다. 이는 시스템 데이터가 신뢰할 수 없는 주체에 의해 손상되거나 오염되는 것을 방지하기 위해 설계되었다.
중국 방벽 정책은 이해 상충을 방지하는 데 중점을 둔다. 이 정책은 주체가 동시에 접근해서는 안 되는 상충되는 정보 집합에 대한 접근을 제한한다. 예를 들어, 한 증권 분석가가 A회사와 B회사(경쟁 관계)의 내부 정보에 모두 접근하는 것을 차단한다. 구현은 일반적으로 접근 이력에 기반하여 동적으로 접근 권한을 조정하는 방식으로 이루어진다. 이 정책은 주로 금융, 법률, 컨설팅 업무와 같이 이해 충돌이 중요한 문제가 되는 민간 부문에서 적용된다.
모델/정책 | 주요 초점 | 핵심 규칙 예시 | 주요 적용 분야 |
|---|---|---|---|
기밀성 | 단순 보안 속성, *-속성 | 군사, 정부(다단계 보안) | |
무결성 | 단순 무결성 속성, 무결성 *-속성 | 금융 거래, 중요한 데이터베이스 | |
이해 상충 방지 | 상충되는 정보 집합에 대한 동시 접근 금지 | 금융 서비스, 법률, 컨설팅 |
3.1. 벨-라파듈라 모델
3.1. 벨-라파듈라 모델
벨-라파듈라 모델은 1973년 데이비드 벨과 레너드 라파듈라에 의해 제안된 최초의 공식적인 강제적 접근 제어 모델이다. 이 모델은 군사적 보안 요구사항을 충족하기 위해 개발되었으며, 정보의 기밀성을 보호하는 데 중점을 둔다. 모델의 핵심은 주체(사용자 또는 프로세스)와 객체(파일 또는 데이터)에 보안 등급을 부여하고, 이를 기반으로 엄격한 접근 규칙을 적용하는 것이다.
모델은 두 가지 기본 속성으로 정의된다.
* 단순 보안 속성: 주체는 자신보다 높은 보안 등급을 가진 객체를 읽을 수 없다. 즉, "읽기" 동작은 상향이 불가능하다.
* *-속성(별 속성): 주체는 자신보다 낮은 보안 등급을 가진 객체에 쓸 수 없다. 즉, "쓰기" 동작은 하향이 불가능하다.
이 두 속성은 정보가 높은 등급에서 낮은 등급으로 유출되는 것을 방지하여 기밀성을 유지한다. 예를 들어, "비밀" 등급의 주체는 "극비" 등급의 문서를 읽을 수 없으며(단순 보안 속성), "비밀" 등급의 주체가 "일반" 등급의 문서에 정보를 써서 유출하는 것도 차단한다(*-속성).
벨-라파듈라 모델은 격자 구조를 사용하여 주체와 객체의 보안 등급을 정의한다. 보안 등급은 일반적으로 기밀성 수준(예: 일반, 비밀, 극비)과 분야 집합(예: 프로젝트A, 프로젝트B)의 조합으로 이루어진다. 접근 권한 판단은 이 격자 구조에 따라 이루어진다. 이 모델은 참조 모니터 개념을 구현의 핵심 요소로 요구하며, 모든 접근 시도를 중재하고 규칙을 강제 적용해야 한다.
속성 | 설명 | 목적 |
|---|---|---|
단순 보안 속성 | 주체는 자신보다 높은 보안 등급의 객체를 읽을 수 없다. | 비인가된 정보 접근(읽기) 방지 |
**\*-속성 (별 속성)** | 주체는 자신보다 낮은 보안 등급의 객체에 쓸 수 없다. | 정보의 비인가된 하향 유출(쓰기) 방지 |
이 모델은 강력한 기밀성 보장을 제공하지만, 무결성 보호에는 취약점이 있을 수 있다는 비판을 받았다. 또한, 엄격한 규칙으로 인해 시스템의 유연성이 떨어지고 관리가 복잡해질 수 있다. 그럼에도 불구하고, 벨-라파듈라 모델은 현대 접근 제어 이론과 시스템 설계의 기초를 마련한 중요한 모델로 평가받는다.
3.2. 비바 모델
3.2. 비바 모델
비바 모델은 1977년 케네스 L. 비바와 마이클 슈로더가 제안한 강제적 접근 제어 모델이다. 이 모델은 벨-라파듈라 모델이 주로 기밀성에 초점을 맞춘 것과 달리, 무결성을 보호하는 것을 주요 목표로 삼았다[3]. 비바 모델의 핵심 아이디어는 '신뢰할 수 없는' 주체가 '신뢰할 수 있는' 객체의 내용을 수정하거나, '신뢰할 수 없는' 객체가 '신뢰할 수 있는' 주체의 동작에 영향을 미치는 것을 제한하는 것이다.
이 모델은 무결성 수준이라는 레이블을 사용하며, 각 주체와 객체는 특정 무결성 등급을 부여받는다. 비바 모델의 기본 규칙은 다음과 같다.
규칙 이름 | 내용 |
|---|---|
단순 무결성 규칙 | 주체는 객체의 무결성 수준보다 높거나 같은 무결성 수준을 가져야만 해당 객체에 쓸 수 있다. (No Write-Down) |
무결성 *-속성 규칙 | 주체는 객체의 무결성 수준보다 낮거나 같은 무결성 수준을 가져야만 해당 객체를 읽을 수 있다. (No Read-Up) |
첫 번째 규칙(No Write-Down)은 낮은 무결성의 주체(예: 사용자 입력 프로세스)가 높은 무결성의 객체(예: 중요한 시스템 실행 파일)를 변경하는 것을 방지한다. 두 번째 규칙(No Read-Up)은 높은 무결성의 주체가 낮은 무결성의 객체(예: 신뢰할 수 없는 외부 데이터)로부터 데이터를 읽어 오염되는 것을 방지한다.
비바 모델은 상업용 및 민간 시스템에서 데이터의 정확성과 신뢰성을 보호해야 할 필요성에 부응하여 개발되었다. 이 모델은 이후 클라크-윌슨 모델과 같은 더 실용적인 무결성 모델의 기초를 제공했으며, 특히 데이터베이스 관리 시스템과 금융 애플리케이션에서 무결성 정책을 설계하는 데 이론적 토대로 활용되었다.
3.3. 중국 방벽 정책
3.3. 중국 방벽 정책
중국 방벽 정책은 다중 수준 보안 시스템에서 정보의 흐름을 제어하기 위한 일련의 원칙을 말한다. 이 정책은 벨-라파듈라 모델의 '읽기'와 '쓰기' 규칙을 확장하여, 주체와 객체 간의 정보 흐름 방향을 엄격히 제한한다. 핵심 목표는 기밀성을 유지하는 것으로, 높은 보안 등급의 정보가 낮은 등급의 주체나 객체로 유출되는 것을 방지한다.
정책의 기본 규칙은 단순하다. 주체 S가 객체 O를 읽을 수 있으려면, 주체 S의 보안 등급이 객체 O의 보안 등급보다 높거나 같아야 한다. 반대로, 주체 S가 객체 O에 쓸 수 있으려면, 주체 S의 보안 등급이 객체 O의 보안 등급보다 낮거나 같아야 한다[4]. 이는 높은 등급의 정보가 낮은 등급의 영역으로 흐르는 것을 근본적으로 차단한다.
동작 | 조건 (주체 S 등급, 객체 O 등급 기준) | 허용 여부 | 목적 |
|---|---|---|---|
읽기(Read) | S 등급 ≥ O 등급 | 허용 | 낮은 등급 정보 접근 허용 |
쓰기(Write) | S 등급 ≤ O 등급 | 허용 | 높은 등급 영역으로 정보 이동 허용 |
이 정책은 주로 군사적 환경에서 설계되었으며, 정보의 단방향 흐름을 보장한다. 예를 들어, '비밀' 등급의 주체는 '일반' 등급의 문서를 읽고 쓸 수 있지만, '일반' 등급의 주체는 '비밀' 등급의 문서를 읽을 수 없다. 또한 '비밀' 등급 주체가 생성한 정보는 '비밀' 등급 객체에만 기록될 수 있어, 의도치 않게 낮은 등급 채널로 정보가 새나가는 것을 방지한다.
그러나 이 정책은 무결성 보호에는 취약할 수 있다. 낮은 등급의 악의적 주체가 높은 등급의 객체에 데이터를 쓸 수 있기 때문에, 시스템 데이터를 손상시키는 공격이 가능해진다. 이러한 한계를 보완하기 위해 무결성을 중심으로 설계된 비바 모델 등 다른 모델과 결합되어 사용되기도 한다.
4. 구현 기술과 메커니즘
4. 구현 기술과 메커니즘
구현의 핵심은 시스템의 모든 주체(사용자, 프로세스)와 객체(파일, 메모리 세그먼트)에 보안 레이블을 부여하는 레이블 기반 접근 제어이다. 이 레이블은 일반적으로 기밀성 등급과 구획 범주로 구성된다. 예를 들어, "비밀" 등급과 "프로젝트A" 범주를 가진 주체는 동일하거나 더 낮은 등급("비밀" 이하)이며, 요청된 객체의 모든 범주("프로젝트A")를 포함하는 객체에만 접근할 수 있다. 모든 접근 결정은 이 레이블 정보에 기반하여 이루어진다.
이러한 결정을 강제적으로 수행하는 핵심 요소는 참조 모니터이다. 참조 모니터는 보안 커널에 구현된 추상적 개념으로, 시스템에서 발생하는 모든 접근 요청을 가로채어 정책에 따라 허용 또는 거부한다. 효과적인 참조 모니터는 반드시 세 가지 조건을 만족해야 한다: 조작 불가능해야 하며(항상 활성화), 격리되어 보호되어야 하며(타머퍼 증명), 검증 가능해야 한다(정확성 증명).
실제 시스템에서 강제적 접근 제어는 운영체제 수준에 통합되어 구현된다. 예를 들어, SELinux[5]는 리눅스 커널에 벨-라파듈라 모델을 구현한 대표적 사례이다. 애플리케이션이 파일에 접근하려 할 때, 커널의 보안 모듈은 프로세스의 보안 컨텍스트(레이블)와 파일의 보안 컨텍스트를 비교하여 정책 규칙을 적용한다. 이 과정은 사용자나 애플리케이션의 임의적 변경을 허용하지 않는다.
구현 요소 | 설명 | 주요 특징 |
|---|---|---|
보안 레이블 | 주체와 객체에 부착된 기밀성 등급과 구획 범주 정보 | 접근 결정의 유일한 기준, 일반적으로 사용자에게 보이지 않음 |
참조 모니터 | 모든 접근 요청을 중재하는 보안 커널의 논리적 구성 요소 | 격리성, 타머퍼 증명성, 검증 가능성을 만족해야 함 |
보안 정책 데이터베이스 | 시스템의 공식적 보안 정책 규칙 집합 | 참조 모니터가 접근을 허용할지 여부를 판단하는 규칙 저장소 |
4.1. 레이블 기반 접근 제어
4.1. 레이블 기반 접근 제어
레이블 기반 접근 제어는 강제적 접근 제어를 구현하는 핵심 메커니즘 중 하나이다. 이 방식은 시스템의 모든 주체(사용자, 프로세스)와 객체(파일, 데이터, 자원)에 보안 레이블을 부여한다. 레이블은 일반적으로 기밀성 등급과 범주 집합으로 구성된다. 예를 들어, 등급은 "비밀", "극비"와 같은 계층적 수준을 나타내고, 범주는 "프로젝트A", "영업부"와 같은 비계층적 분류를 의미한다[6].
접근 결정은 주체의 레이블과 객체의 레이블을 비교하는 엄격한 규칙에 따라 이루어진다. 가장 일반적인 규칙은 벨-라파듈라 모델의 두 가지 속성이다. 첫째, 단순 보안 속성은 주체의 등급이 객체의 등급보다 높거나 같고, 주체의 범주 집합이 객체의 범주 집합을 모두 포함할 때만 읽기 접근을 허용한다. 둘째, *-속성(별 속성)은 주체가 자신보다 높은 등급의 객체에 정보를 기록하는 것을 방지하여 정보의 비인가된 하향 흐름을 차단한다.
이 메커니즘의 운영은 다음 표와 같이 요약할 수 있다.
접근 유형 | 조건 (주체 S, 객체 O) | 설명 |
|---|---|---|
읽기 | S.등급 ≥ O.등급 AND O.범주 ⊆ S.범주 | 주체는 자신과 같거나 낮은 등급이며, 자신이 권한을 가진 범주에 속한 객체만 읽을 수 있다. |
쓰기 | S.등급 ≤ O.등급 AND S.범주 ⊆ O.범주 | 주체는 자신과 같거나 높은 등급의 객체에만 쓸 수 있으며, 객체의 범주가 주체의 범주를 포함해야 한다. |
구현 측면에서 레이블은 운영체제 커널 수준의 참조 모니터에 의해 강제된다. 모든 접근 시도는 이 모니터에 의해 가로채지고, 레이블 규칙에 따라 허용 또는 거부된다. 이 방식은 보안 정책의 일관된 집행을 보장하지만, 레이블의 초기 구성과 지속적인 관리에 상당한 오버헤드가 따른다.
4.2. 참조 모니터
4.2. 참조 모니터
참조 모니터는 강제적 접근 제어 시스템의 핵심 보안 메커니즘으로, 시스템 내 모든 접근 제어 결정을 중앙에서 검증하고 집행하는 추상적 개념이자 구현체이다. 이 개념은 1972년 미국 공군의 컴퓨터 보안 연구에서 처음 제안되었으며, 이후 신뢰할 수 있는 컴퓨터 시스템 평가 기준의 근간이 되었다[7].
참조 모니터는 다음 세 가지 필수 속성을 충족해야 한다.
검증 가능성: 그 구현이 정확하고 결함이 없음을 수학적으로 증명하거나 철저히 테스트할 수 있어야 한다.
조작 불가능성: 보호받는 메커니즘이 우회될 수 없어야 하며, 모든 접근 시도는 반드시 참조 모니터를 통과해야 한다.
간결성: 구조가 충분히 작고 단순하여 철저한 검증과 분석이 가능해야 한다.
이러한 속성을 통해 참조 모니터는 사용자나 프로세스의 모든 객체 접근 요청을 가로채어, 시스템의 보안 정책(예: 벨-라파듈라 모델)에 따라 허용 또는 거부 결정을 내린다.
실제 시스템에서 참조 모니터는 일반적으로 운영 체제의 커널 내에 구현된다. 대표적인 예로 신뢰 컴퓨팅 기반(TCB)의 일부인 보안 커널이 있다. 이 커널은 하드웨어와 소프트웨어의 조합으로 구성되어, 메모리, 파일, 장치 등에 대한 모든 접근을 중재한다. 참조 모니터의 개념은 현대 운영 체제의 보안 모듈, 가상화 하이퍼바이저, 그리고 일부 데이터베이스 관리 시스템의 접근 제어 메커니즘에도 적용된다.
5. 적용 분야와 사례
5. 적용 분야와 사례
강제적 접근 제어는 정보의 기밀성과 무결성을 최우선으로 보장해야 하는 고위험 환경에서 널리 적용된다. 그 엄격한 정책 집행 방식은 민감한 정보의 무단 유출이나 변조를 방지하는 데 효과적이다.
주요 적용 분야로는 군사 및 정부 시스템이 대표적이다. 군사 네트워크에서는 정보에 보안 등급과 구역 레이블을 부여하여, 낮은 등급의 사용자가 높은 등급의 정보에 접근하거나 다른 구역의 정보를 읽는 것을 원칙적으로 차단한다[8]. 정부 기관에서도 국가 기밀 문서나 외교 전신 등을 관리할 때 유사한 모델을 사용하여 정보의 흐름을 철저히 통제한다.
금융 및 의료 정보 시스템 또한 중요한 적용 사례이다. 금융권에서는 고객의 재정 정보나 내부 거래 데이터를 보호하기 위해, 의료 분야에서는 환자의 개인 건강 정보(PHI)를 안전하게 관리하기 위해 강제적 접근 제어를 도입한다. 예를 들어, 병원 시스템에서 의사는 진료를 위해 환자 기록을 읽고 쓸 수 있지만, 행정 직원은 최소한의 정보만 접근할 수 있도록 제한하는 정책을 수립할 수 있다.
적용 분야 | 주요 보호 대상 | 적용 목적 |
|---|---|---|
군사/정부 | 군사 기밀, 국가 정보 | 정보 유출 방지, 필요에 따른 접근 통제 |
금융 | 고객 계좌 정보, 내부 거래 데이터 | 사기 방지, 금융 사생활 보호 |
의료 | 환자 건강 기록(EMR/EHR) | 개인정보 보호([9] 준수), 진료 질 관리 |
이 외에도 원자력 발전소나 화학 공장과 같은 국가 중요 기반 시설의 산업 제어 시스템(SCADA)에서도 운영 명령어의 무단 변경을 막기 위해 적용되며, 일부 상용 운영체제의 보안 강화 모듈(예: SELinux)을 통해 구현되기도 한다.
5.1. 군사 및 정부 시스템
5.1. 군사 및 정부 시스템
강제적 접근 제어는 정보의 기밀성과 무결성을 최우선으로 보장해야 하는 군사 및 정부 시스템에서 핵심적인 보안 모델로 널리 채택된다. 이러한 환경에서는 정보가 엄격한 등급(예: 비밀, 극비)과 구역(예: 프로젝트별 구분)으로 분류되며, 벨-라파듈라 모델이 기반이 되는 경우가 많다. 이 모델은 "읽기"와 "쓰기" 권한을 '안전 속성'에 따라 엄격히 통제하여, 상위 등급의 정보를 하위 등급의 사용자가 접근하거나, 하위 등급의 정보를 상위 등급의 사용자가 의도치 않게 변경하는 것을 방지한다[10]. 따라서 군사 작전 계획이나 외교 교신문과 같은 고도로 민감한 정보는 사전에 정의된 보안 정책에 의해서만 접근이 허용된다.
구체적인 구현은 시스템의 모든 주체(사용자, 프로세스)와 객체(파일, 데이터베이스 레코드)에 보안 레이블을 부착하는 레이블 기반 접근 제어를 통해 이루어진다. 예를 들어, 한 사용자가 "비밀" 등급과 "A작전" 구역의 레이블을 가진다면, 그는 동일하거나 더 낮은 등급("비밀" 또는 "일반")이며 동일한 구역("A작전")을 가진 문서에만 접근할 수 있다. 모든 접근 시도는 운영체제 커널에 내장된 참조 모니터에 의해 검사되며, 정책을 위반하는 접근은 즉시 차단된다. 이는 관리자나 시스템 소유자조차 정책을 임의로 우회할 수 없도록 설계되어 있다.
다음은 군사/정부 시스템에서의 일반적인 보안 등급과 접근 제어 원칙을 요약한 표이다.
보안 등급 (높은 순) | 설명 | 일반적인 접근 제어 규칙 예시 |
|---|---|---|
극비 | 국가 안보에 심각한 피해를 초래할 수 있는 정보 | 동일한 등급과 구역을 가진 인가자만 접근 가능. 모든 접근 로깅 및 감사 필수. |
비밀 | 국가 안보에 중대한 피해를 초래할 수 있는 정보 | 동일한 등급과 구역, 또는 더 낮은 등급의 동일 구역 인가자 접근 가능. |
대외비 | 공개 시 국가 이익에 불이익을 줄 수 있는 정보 | 지정된 구역 내에서 해당 등급 이하의 인가자 접근 가능. |
일반 | 공개 정보 또는 내부 업무용 정보 | 구역 제한은 적용될 수 있으나, 등급 제한은 낮음. |
이러한 엄격한 통제는 정보 유출을 방지하는 데 매우 효과적이지만, 시스템의 유연성을 떨어뜨리고 관리 부담을 가중시킨다. 새로운 프로젝트(구역)가 생성되거나 사용자의 보안 인가가 변경될 때마다 중앙에서 정책을 업데이트해야 하며, 협업이 필요한 경우 복잡한 정보 승격 또는 사용자 임시 권한 부여 절차가 필요하다. 그럼에도 불구하고, 국가 안보와 같은 절대적인 기밀 요구사항 앞에서 강제적 접근 제어는 여전히 가장 신뢰할 수 있는 기반 기술로 자리 잡고 있다.
5.2. 금융 및 의료 정보 시스템
5.2. 금융 및 의료 정보 시스템
강제적 접근 제어는 금융 기관과 의료 기관에서 매우 민감한 정보를 보호하기 위해 널리 적용된다. 금융 분야에서는 고객의 계좌 정보, 거래 내역, 신용 평가 자료 등이 엄격한 기밀성을 요구한다. 의료 분야에서는 환자의 전자의무기록, 진료 기록, 유전 정보 등이 개인정보보호 법규(예: HIPAA)에 따라 철저히 관리되어야 한다. 이러한 시스템에서는 정보의 무단 유출이나 변조가 심각한 법적, 재정적, 신뢰성 손실을 초래할 수 있기 때문에, 임의적 접근 제어보다 더 엄격한 통제가 필요하다.
구체적인 구현 사례로, 금융권의 핵심 업무 시스템에서는 직원의 직급과 부서에 따라 데이터 접근 수준이 사전에 정의된 보안 등급에 따라 결정된다. 예를 들어, 일반 직원은 고객의 기본 정보만 조회할 수 있지만, 특정 등급 이상의 관리자만이 대출 승인 내역이나 위험 관리 보고서와 같은 고감도 정보에 접근할 수 있다. 모든 접근 시도는 참조 모니터에 의해 실시간으로 검사되고 로깅되어, 사후 감사 추적이 가능하게 한다.
의료 정보 시스템에서는 강제적 접근 제어가 '필요에 의한 접근' 원칙을 구현하는 데 핵심적이다. 의사, 간호사, 행정 직원 등 각 역할은 사전에 정해진 접근 권한을 갖는다. 이를테면, 주치의는 자신이 담당하는 환자의 완전한 기록에 접근할 수 있지만, 타과 의사나 연구원은 익명화된 데이터나 특정 정보만 접근할 수 있다. 특히 유전자 정보나 정신과 기록과 같은 초민감 정보는 추가적인 보안 계층으로 격리되어 관리된다.
이러한 적용은 높은 수준의 보안을 보장하지만, 긴급한 상황에서의 접근 신속성 문제나 시스템 통합의 복잡성이라는 도전과제도 동반한다. 따라서 현대 시스템에서는 강제적 접근 제어를 역할 기반 접근 제어나 상황 인식 정책과 결합하여 유연성을 높이는 하이브리드 방식을 도입하는 추세이다.
6. 장점과 한계
6. 장점과 한계
강제적 접근 제어는 높은 수준의 정보 보안을 보장하는 데 있어 뚜렷한 장점을 지닌다. 가장 큰 강점은 엄격한 중앙 집중식 정책에 따른 일관된 보안 적용이다. 시스템 관리자가 정의한 보안 정책은 모든 사용자와 객체에 강제적으로 적용되며, 일반 사용자는 이를 우회하거나 변경할 수 없다. 이는 기밀성과 무결성을 보호해야 하는 환경에서 정보의 불법적인 유출이나 변조를 근본적으로 차단한다. 특히 다중 보안 수준이 존재하는 군사나 정부 기관에서 최소 권한의 원칙을 철저히 구현하고, 권한 상승 공격에 대한 방어 체계를 구축하는 데 효과적이다.
그러나 이러한 엄격함은 동시에 주요 한계를 낳는다. 가장 큰 문제는 유연성의 부족이다. 시스템의 보안 요구사항이 변경되거나 새로운 유형의 작업이 필요할 때, 정책을 수정하는 과정이 복잡하고 비용이 많이 든다. 일상적인 업무에서도 사용자가 합법적인 작업을 수행하기 위해 필요 이상의 권한을 부여받지 못해 생산성이 저하되는 경우가 발생한다. 또한, 모든 주체와 객체에 보안 레이블을 할당하고 관리하는 작업은 상당한 관리 부담과 운영 복잡성을 초래한다.
이 모델의 실효성은 전적으로 정책 설정의 정확성에 달려 있다는 점도 중요한 한계이다. 잘못 정의된 보안 정책은 시스템을 사용 불가능하게 만들거나, 오히려 보안 허점을 만들어낼 수 있다. 예를 들어, 벨-라파듈라 모델은 기밀성 보호에 특화되어 있으나, 정보의 무결성을 보장하기 위한 쓰기 제어에는 취약점이 있을 수 있다[11]. 따라서 강제적 접근 제어는 높은 보안이 최우선인 특정 분야에 적합하며, 보다 유연한 접근이 요구되는 일반 상업 환경에서는 임의적 접근 제어나 역할 기반 접근 제어와 같은 다른 모델이 혼용되거나 선호된다.
6.1. 보안성 강화 효과
6.1. 보안성 강화 효과
강제적 접근 제어는 시스템의 보안 정책을 중앙에서 엄격하게 정의하고 강제함으로써 높은 수준의 보안성을 보장합니다. 이 접근 방식의 핵심 효과는 정보의 기밀성과 무결성을 체계적으로 보호하는 데 있습니다. 시스템 관리자가 아닌 일반 사용자는 접근 권한을 임의로 변경하거나 상승시킬 수 없으므로, 권한 남용이나 실수로 인한 정보 유출 위험을 크게 줄입니다. 특히 벨-라파듈라 모델과 같은 정형화된 모델을 기반으로 할 경우, "읽기"와 "쓰기" 권한이 명확한 규칙에 따라 통제되어 정보가 비인가된 경로로 흐르는 것을 방지합니다.
이 모델의 보안성은 주로 다음과 같은 메커니즘을 통해 실현됩니다. 첫째, 모든 주체(사용자, 프로세스)와 객체(파일, 데이터)에 보안 레이블(예: 기밀 등급, 분류 범주)이 부여됩니다. 둘째, 모든 접근 시도는 중앙의 참조 모니터에 의해 정책 규칙에 따라 허용 또는 거부됩니다. 이 구조는 악의적인 사용자가 시스템을 조작하거나 권한을 탈취하더라도, 사전에 정의된 보안 정책의 틀을 벗어난 접근을 원천적으로 차단합니다.
보안 목표 | 강제적 접근 제어의 기여 방식 |
|---|---|
기밀성 보장 | 상위 등급의 정보에 대한 비인가된 읽기 접근을 방지합니다. 예를 들어, '비밀' 등급의 사용자가 '극비' 등급 문서를 읽지 못하도록 차단합니다. |
무결성 보장 | 하위 등급의 주체가 상위 등급 객체에 쓰는 것을 제한하여 데이터의 오염 또는 악의적 변경을 방지합니다. 비바 모델이 이 원칙을 중시합니다. |
권한 상승 방지 | 사용자가 자신의 권한을 임의로 변경할 수 없어, 트로이 목마와 같은 악성 코드에 의한 권한 탈취 위험을 완화합니다. |
결과적으로, 강제적 접근 제어는 정보 흐름에 대한 엄격한 통제를 가능하게 하여, 다중 보안 수준이 요구되는 환경에서 정보가 의도하지 않은 방향으로 전파되는 것을 효과적으로 차단합니다. 이는 시스템 전체의 보안 상태를 예측 가능하고 감사 가능하게 만드는 결정적인 장점을 제공합니다.
6.2. 유연성 부족과 관리 복잡성
6.2. 유연성 부족과 관리 복잡성
강제적 접근 제어는 높은 보안성을 보장하지만, 그 엄격한 특성으로 인해 유연성이 현저히 부족하고 시스템 관리가 복잡해지는 한계를 지닌다. 모든 접근 결정이 중앙에서 정의된 보안 정책에 의해 강제되므로, 사용자나 객체의 소유자라도 필요에 따라 권한을 신속하게 조정하거나 예외를 허용하기가 어렵다. 예를 들어, 긴급한 업무 협조가 필요한 상황에서도 사전에 정의된 보안 등급과 범주를 벗어난 접근은 원칙적으로 불가능하다. 이는 업무 효율성을 저하시키고, 운영상의 불편함을 초래할 수 있다.
관리 측면에서도 복잡성이 크게 증가한다. 중앙 집중식의 보안 정책을 설계, 구현, 유지 관리하는 작업은 매우 번거롭고 전문적인 지식을 요구한다. 시스템에 추가되는 모든 사용자와 객체(파일, 데이터, 장치 등)에 대해 적절한 보안 레이블을 할당해야 하며, 이 레이블링 작업 자체가 오류를 발생시키기 쉬운 지점이 된다. 또한, 조직 구조나 업무 흐름이 변경될 때마다 전체 보안 정책을 재검토하고 수정해야 하는 부담이 따른다.
이러한 복잡성과 유연성 부족은 구현 및 운영 비용을 상승시키는 주요 원인이 된다. 대규모 상용 시스템이나 빠르게 변화하는 비즈니스 환경에서는 이러한 특성이 큰 걸림돌로 작용할 수 있다. 따라서 강제적 접근 제어는 보안이 최우선인 특정 분야에 선택적으로 적용되며, 보다 유연한 임의적 접근 제어나 역할 기반 접근 제어와 혼합하여 사용되는 경우가 많다.
7. 관련 기술과 비교
7. 관련 기술과 비교
강제적 접근 제어(MAC)는 시스템이 정의한 보안 정책에 따라 객체에 대한 접근을 엄격히 통제하는 방식이다. 이는 사용자나 소유자의 재량에 따라 접근 권한을 부여하는 임의적 접근 제어(DAC)와 근본적으로 대비된다. DAC에서는 파일 소유자가 다른 사용자에게 읽기 또는 쓰기 권한을 자유롭게 부여할 수 있지만, MAC에서는 그러한 결정이 중앙 집중식 보안 정책에 종속된다. 따라서 MAC은 정보의 유출이나 무단 수정을 방지하는 데 더 강력한 보안 보장을 제공한다.
역할 기반 접근 제어(RBAC)는 MAC과 밀접한 관련이 있지만, 접근 권한을 부여하는 기준에서 차이를 보인다. RBAC는 사용자의 개별 신원이 아니라 조직 내에서 부여받은 역할(Role)에 따라 권한을 할당한다. MAC이 보안 등급과 컴파트먼트 같은 시스템 차원의 속성에 기반한다면, RBAC는 비즈니스 프로세스와 조직 구조에 초점을 맞춘다. 일부 구현에서는 RBAC를 MAC의 특정한 형태로 간주하거나, 두 모델을 결합하여 사용하기도 한다. 예를 들어, 특정 역할에 보안 레이블을 할당함으로써 MAC의 엄격한 통제를 RBAC의 관리 편의성 위에 적용할 수 있다.
다음 표는 세 가지 주요 접근 제어 모델의 핵심 특징을 비교한 것이다.
모델 | 접근 결정 기준 | 통제 주체 | 주요 특징 |
|---|---|---|---|
강제적 접근 제어 (MAC) | 시스템 정책 (보안 레이블) | 시스템 (중앙 정책) | 최고 수준의 보안 보장, 유연성 낮음 |
임의적 접근 제어 (DAC) | 객체 소유자의 재량 | 사용자 (객체 소유자) | 높은 유연성, 권한 상속으로 인한 보안 취약점 가능성 |
역할 기반 접근 제어 (RBAC) | 사용자에게 할당된 역할 | 관리자 (역할 정의자) | 관리 편의성 증대, 최소 권한 원칙 적용 용이 |
이러한 비교를 통해, MAC은 보안이 최우선인 환경에서, DAC는 개인 사용자 자율성이 중요한 환경에서, RBAC는 대규모 조직의 효율적인 권한 관리가 필요한 환경에서 각각 적합한 모델임을 알 수 있다. 현대 시스템에서는 이러한 모델들이 상호 배타적이지 않으며, 계층적이거나 혼합된 형태로 함께 적용되는 경우가 많다.
7.1. 임의적 접근 제어(DAC)와의 비교
7.1. 임의적 접근 제어(DAC)와의 비교
강제적 접근 제어(MAC)와 임의적 접근 제어(DAC)는 컴퓨터 보안에서 가장 기본적인 두 가지 접근 제어 패러다임이다. 이 두 모델은 접근 권한을 결정하는 주체와 그 권한의 부여 및 전파 방식에 있어 근본적인 차이를 보인다.
가장 핵심적인 차이는 접근 통제의 주체와 정책의 엄격성에 있다. DAC 시스템에서는 객체(예: 파일)의 소유자가 해당 객체에 대한 접근 권한(읽기, 쓰기, 실행 등)을 다른 주체(예: 사용자)에게 부여하거나 철회할 수 있다. 이는 사용자 중심의 접근 제어로, 권한의 위임과 관리가 비교적 자유롭다. 반면, MAC 시스템에서는 접근 권한이 시스템 전체의 중앙 보안 정책(예: 기밀성 등급)에 의해 강제된다. 개별 사용자나 객체의 소유자는 이 정책을 우회하거나 변경할 수 없으며, 모든 접근 결정은 시스템이 정의한 규칙에 따라 검증된다[12].
이러한 차이는 다음과 같은 구체적인 특성으로 나타난다.
비교 항목 | 임의적 접근 제어 (DAC) | 강제적 접근 제어 (MAC) |
|---|---|---|
통제 주체 | 객체의 소유자(사용자) | 중앙 보안 정책(시스템) |
권한 전파 | 가능함 (예: 소유자가 다른 사용자에게 권한 부여) | 불가능함 (권한은 정책에 의해 고정) |
유연성 | 높음 (사용자 필요에 따라 동적 조정 가능) | 낮음 (정책 변경 시만 조정 가능) |
보안 강도 | 상대적으로 낮음 (소유자의 실수로 권한 누출 가능) | 매우 높음 (정책 위반 접근 원천 차단) |
주요 적용 분야 | 일반 상용 운영체제(예: 유닉스 파일 권한), 개인용 시스템 | 군사, 정부, 고보안 요구 시스템 |
결과적으로 DAC는 사용 편의성과 유연성을 중시하는 환경에 적합한 반면, MAC는 정보의 흐름을 엄격하게 통제해야 하는 고보안 환경에서 필수적이다. 현대의 많은 시스템, 특히 다중 수준 보안(MLS)을 요구하는 시스템은 이 두 모델을 혼합하여 사용하기도 한다.
7.2. 역할 기반 접근 제어(RBAC)와의 관계
7.2. 역할 기반 접근 제어(RBAC)와의 관계
역할 기반 접근 제어(RBAC)는 강제적 접근 제어(MAC)와 임의적 접근 제어(DAC)와 구별되는 접근 제어 패러다임이다. RBAC는 사용자 개인에게 직접 권한을 부여하는 대신, 조직 내의 역할(예: 관리자, 일반 사용자, 감사자)을 정의하고 그 역할에 권한을 할당한다. 사용자는 하나 이상의 역할에 할당됨으로써 해당 역할이 가진 권한을 상속받는다. 이는 권한 관리의 편의성과 최소 권한 원칙을 실현하는 데 초점을 맞춘다.
두 모델은 근본적인 통제 주체와 정책 결정 방식에서 차이를 보인다. MAC는 시스템 전체에 걸쳐 중앙에서 정의된 보안 정책(예: 기밀성 등급)에 따라 데이터 객체에 대한 접근을 강제한다. 반면 RBAC의 정책은 주로 조직의 업무 기능과 직무 분리를 기반으로 하며, 시스템 관리자가 역할과 권한을 구성한다. 따라서 MAC는 주로 정보의 흐름 자체를 제어하는 반면, RBAC는 사용자가 수행할 수 있는 작업의 범위를 제어한다.
실제 시스템에서는 MAC와 RBAC가 상호 배타적이지 않고 결합되어 사용되기도 한다. 예를 들어, 높은 보안이 요구되는 환경에서 MAC는 데이터의 기밀성 무결성을 보장하는 기본 골격을 제공하고, 그 위에 RBAC를 도입하여 사용자 그룹별로 세부적인 운영 권한(예: 특정 애플리케이션 실행, 리포트 생성)을 효율적으로 관리할 수 있다. 이러한 하이브리드 접근 방식은 엄격한 보안 요구사항과 운영상의 유연성을 동시에 충족시키는 데 기여한다.
요약하면, MAC와 RBAC는 서로 다른 문제를 해결한다. MAC는 정보 자체의 보안 등급과 사용자의 보안 허가도에 기반한 '데이터 중심'의 강제 통제 모델이라면, RBAC는 조직 구조와 업무 프로세스에 기반한 '사용자 업무 중심'의 권한 관리 모델이다. 둘은 보안 체계의 서로 다른 층위를 담당하며, 상황에 따라 독립적으로 또는 함께 적용될 수 있다.
8. 표준과 규정
8. 표준과 규정
강제적 접근 제어를 구현하고 평가하기 위한 표준과 규정은 주로 정보 보안 분야의 공식 기준과 법적 요구사항으로 구성된다. 이는 시스템의 보안 수준을 객관적으로 측정하고, 특정 산업이나 정부 기관에서 요구하는 엄격한 보안 요건을 충족시키는 데 필수적이다.
가장 대표적인 평가 기준은 공통 평가 기준(Common Criteria, CC)이다. 이는 국제 표준(ISO/IEC 15408)으로, 정보 기술 제품의 보안 기능을 평가하고 인증하는 체계를 제공한다. 강제적 접근 제어를 구현한 시스템은 CC 평가를 통해 특정 보안 보호 프로파일(Protection Profile, PP)에 대한 적합성을 입증할 수 있다. 예를 들어, 군사용 시스템을 위한 표준인 미국 국방부 신뢰 컴퓨터 시스템 평가 기준(TCSEC, Orange Book)은 역사적으로 강제적 접근 제어의 초기 표준화에 기여했으며, 이는 이후 공통 평가 기준과 같은 현대 표준의 기초가 되었다.
법적 규정 측면에서는 개인정보 보호와 국가 기밀 보호를 위한 법률이 강제적 접근 제어 도입을 촉진한다. 의료정보보호법(HIPAA)은 미국의 의료 정보 보안 표준을 규정하며, 신용카드산업정보보안표준(PCI DSS)은 금융 거래 데이터 보호를 요구한다. 유럽의 일반 개인정보 보호 규칙(GDPR)도 높은 수준의 데이터 보호를 명시하고 있다. 이러한 규정들은 민감한 데이터에 대한 무단 접근을 방지하기 위해 강력한 접근 통제 메커니즘의 필요성을 강조하며, 이는 종종 강제적 접근 제어의 도입으로 이어진다.
표준/규정 명 | 공식 명칭 또는 약어 | 주요 적용 분야/목적 | 강제적 접근 제어와의 관련성 |
|---|---|---|---|
공통 평가 기준 | Common Criteria (CC), ISO/IEC 15408 | 정보기술 제품 보안 평가 국제 표준 | 시스템의 보안 정책(예: MAC) 구현을 평가하고 인증하는 공식 체계 제공 |
TCSEC | Trusted Computer System Evaluation Criteria (Orange Book) | 미국 국방부 시스템 보안 평가 (역사적 표준) | 강제적 접근 제어를 요구하는 최초의 공식 평가 기준 중 하나 |
HIPAA | Health Insurance Portability and Accountability Act | 미국 의료 정보 보안 및 개인정보 보호 | 환자 정보 보호를 위해 엄격한 접근 통제 요구, MAC 구현을 유도할 수 있음 |
PCI DSS | Payment Card Industry Data Security Standard | 신용카드 거래 데이터 보안 | 카드 소유자 데이터 환경 보호를 위한 강력한 접근 제어 조치 요구 |
GDPR | General Data Protection Regulation | 유럽 연합 일반 개인정보 보호 규정 | 데이터 주체의 권리 보호 및 데이터 무단 처리 방지를 위한 적절한 기술적 조치 요구 |
